ZoomInfo Company & Contacts Scraper — Leads | No Login avatar

ZoomInfo Company & Contacts Scraper — Leads | No Login

Pricing

from $19.90 / 1,000 company records

Go to Apify Store
ZoomInfo Company & Contacts Scraper — Leads | No Login

ZoomInfo Company & Contacts Scraper — Leads | No Login

Scrape public ZoomInfo company profiles into rich JSON: firmographics, executives, competitors, technologies, news, funding — PLUS one lead record per person (name, title, LinkedIn, location, email pattern, masked email/phone). Paste URLs, get companies + contacts. No login, no API key.

Pricing

from $19.90 / 1,000 company records

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ZoomInfo Company & Contacts Scraper

Turn public ZoomInfo company profile pages into rich, structured JSON — company firmographics PLUS the people / leads ZoomInfo surfaces on those pages. Paste one or more company profile URLs and get back, in a single dataset:

  1. One rich company record per URL — firmographics enriched with nested arrays: executives, recently-hired people, competitors, technologies, scoops, news, funding rounds, acquisitions, department headcounts, and buyer-intent topics.
  2. One flat lead record per person found on the company page (executives + recently-hired) — name, title, department, LinkedIn URL, location, and contact data (email pattern, masked current email/phone, full historical emails).

This actor scrapes the public, logged-out ZoomInfo company pages (/c/<slug>/<id>) and person pages (/p/<slug>/<id>). It does not log in and does not use ZoomInfo's paid API. It returns exactly what ZoomInfo renders to logged-out visitors — current emails/phones are returned masked (as ZoomInfo masks them, e.g. h***@zoominfo.com), while the company email pattern is derived from the public historical addresses ZoomInfo shows in full.

This tool collects the publicly visible, logged-out information ZoomInfo exposes (including the public people roster on company pages). You are responsible for your own use of the output. ZoomInfo's Terms of Service and applicable data-protection laws (GDPR / CCPA / etc.) govern what you may collect and how you may use it — especially person-level data. Scrape responsibly, respect rate limits, and ensure you have a lawful basis for processing any personal data in the output. If you need verified / unmasked contact data, use ZoomInfo's official paid API.

Output — record types

Every dataset item carries a record_type field: "company" or "person". The Companies and Contacts / Leads dataset views split them for you.

Company record (record_type: "company")

FieldExample
company_name / short_name / also_known_asZoomInfo Technologies LLC / aliases list
website / logowww.zoominfo.com
hq_location + hq_street/hq_city/hq_state/hq_country/hq_zipstructured address
industryCustomer Engagement Platforms, Software
revenue_band / revenue_usd_thousands$1.3 Billion / 1254000
employee_band / employee_count1K - 5K / 3180
founded_year2000
naics / sic54,541 / 73,737
is_public / stock_tickerPublic / NASDAQ: GTM
phone / fax(866) 904-9666 / (617) 507-8187
linkedin_url / twitter_url / facebook_url / instagram_urlcompany socials
total_funding2382555
description / summarypublic text
employees_likely_to_engageengagement counter
executives[]{person_id, full_name, first_name, last_name, title, profile_url, org_chart_tier, likely_to_engage_email/phone}
recently_hired[]{person_id, full_name, title, profile_url, job_start_date, likely_to_engage_*}
competitors[]{company_id, name, website, revenue, employee_count, founded_year, is_public, ceo_name, ceo_profile_url}
technologies[]{name, vendor, relationship: used|owned, market_share?, companies_using?}
scoops[]{description, date, types[], topics[], link} (open roles, leadership moves, signals)
news[]{title, url, date, domain, snippet}
fundings[]{date, amount, amount_value, round, investors[]}
acquisitions[]{company_id, name, date}
departments[]{level, count} (C-Level / VP / Director / Manager / …)
intents[]{topic, signal_score, signals_number} (buyer-intent)
executive_count / recently_hired_count / contacts_scrapedcounts
top_executives_url / profile_url / scraped_atprovenance

Person / lead record (record_type: "person")

Emitted when Include contacts is on (default). One row per person fetched from the company page roster.

FieldExample
full_name / first_name / last_nameHenry Schuck
title / job_function / department / management_levelFounder & CEO / Executive / C-Suite / C-Level
linkedin_urlhttps://www.linkedin.com/in/hschuck
emailmasked current email, e.g. h***@zoominfo.com
email_patternderived, e.g. {first}.{last}@zoominfo.com
past_emails[]full historical addresses ZoomInfo exposes publicly
phone / mobilemasked, e.g. (360) ***-****
company_phonefull, (866) 904-9666
city / state / metro_area / country / postal_code / streetperson location
education / biography / current_job_durationprofile detail
company_id / company_name / company_websiteemployer linkage
profile_url / scraped_atprovenance

About emails & phones (important, honest): logged out, ZoomInfo masks the current email and phone (h***@…, (360) ***-****). What it exposes in full is a list of historical addresses (past_emails) — from which this actor derives the company's email_pattern (e.g. {first}.{last}@company.com). That pattern, plus the person's name + LinkedIn, is what makes these usable B2B leads. We only emit a pattern on the person's current employer domain; if we can't confirm it, email_pattern is null rather than a guess on a stale domain.

Input

FieldDescription
Company profile URLsPublic profile URLs https://www.zoominfo.com/c/<slug>/<id>.
Include contacts / leadsDefault on. Also fetch person pages and emit lead rows.
Max contacts per companyCeiling on person pages per company (default 25).
Max companiesSafety ceiling on company records.
Proxy exit countryTwo-letter exit country (default us).

How to find profile URLs: search the web for site:zoominfo.com/c <company name> — the first result is usually the company's public profile. Copy that URL in.

{
"companyUrls": [
"https://www.zoominfo.com/c/zoominfo-technologies-llc/344589814"
],
"includeContacts": true,
"maxContactsPerCompany": 25,
"maxItems": 100
}

How it works

ZoomInfo uses enterprise-grade protection. This actor routes every request through a managed proxy fully baked into the actor — you never supply a proxy, API key, or login. All transport cost is included in the per-record price.

Parsing is anchored on the page's structured server-rendered data (the Angular SSR ng-state blob and JSON-LD), not on fragile CSS class names — so it keeps working across ZoomInfo's frequent front-end rebuilds. The first request to a cold domain runs a full unlock cycle (can take 60–120 s); requests retry with backoff so the warm cache then serves fast.

Pricing

Pay-per-result with two separate events:

  • company-record — charged once per company record delivered.
  • contact-record — charged once per person / lead record delivered.

Failed or blocked URLs are skipped and not charged. Turn Include contacts off to get company records only.

Limitations

  • Input is profile URLs (the reliable public path). Logged-out company-name search does not return query-specific results without authenticating, which this actor never does.
  • Revenue / employee figures are the bands ZoomInfo publishes (e.g. 1K - 5K).
  • Current emails and direct phones are masked by ZoomInfo logged out; the actor returns them as-is (masked) plus the derived email_pattern and full past_emails. It does not unmask paywalled data.
  • The contact roster is the set of people ZoomInfo surfaces on the public company page (executives + recently-hired), not ZoomInfo's full employee database.